This notebook visualize the cohort and data used for the study of
ctDNA release
Set up and load data
LS0tCnRpdGxlOiAiQ29ob3J0IE92ZXJ2aWV3IGZvciBNdWx0aS1vbWljcyBjaGFyYWN0ZXJpemluZyBjdEROQSByZWxlYXNlIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKYXV0aG9yOiBNYWkgVE4gTmd1eWVuIAotLS0KClRoaXMgbm90ZWJvb2sgdmlzdWFsaXplIHRoZSBjb2hvcnQgYW5kIGRhdGEgdXNlZCBmb3IgdGhlIHN0dWR5IG9mIGN0RE5BIHJlbGVhc2UKCiMjIyBTZXQgdXAgYW5kIGxvYWQgZGF0YQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpwcm9qZWN0X2RpciA9ICd+L1BoRFN0dWR5L1Jlc2VhcmNoL01hbnVzY3JpcHQvM3JkTVNfT21pY3NJbnRlZ3JhdGUvUHJldHJlYXRfT21pY3NfSW50ZWdyYXRpb24vcmVzdWx0cy9maWd1cmVzX0RlYzI1L01haW4vJwojIGxpYnJhcnkKI3NvdXJjZSgnLi4vMDBfZnVuY3Rpb25zLlInKQojIGxvYWQgZGF0YQpjb2hvcnQgPC0gcmVhZC5kZWxpbSgnLi4vZGF0YTRzdWJtaXNzaW9uL2N0ZG5hX2F0X2RpYWdub3Npcy50c3YnKQpjbGluaWNhbF9pbmZvIDwtIHJlYWQuZGVsaW0oJy4uL2RhdGE0c3VibWlzc2lvbi9jdGRuYV9jbGluaWNhbF9kYXRhLnRzdicpCgojIGxvYWQgdGlzc3VlIG9taWNzIGRhdGEKI2RuYV9kYXRhIDwtIGxvYWQoKQojcm5hX2RhdGEgPC0gbG9hZCgpCmBgYAoKIyMjIEZpZ3VyZSAxYSBhbmQgMWI6IHN0cmF0aWZ5IGN0RE5BIHJlbGVhc2UgZ3JvdXAgLSBjb2hvcnQncyBIUkQgYW5kIHRyZWF0bWVudCBpbmZvCmBgYHtyIGZpZzFhYiwgZWNobz1GQUxTRSwgd2FybmluZz1GQUxTRSwgZmlnLndpZHRoPTE1LCBmaWcuaGVpZ2h0PTZ9CmRmMSA8LSBjb2hvcnQgJT4lCiAgbGVmdF9qb2luKAogICAgY2xpbmljYWxfaW5mbyB8PgogICAgICBkcGx5cjo6cmVuYW1lKGRpc2Vhc2VfZGV0YWlsID0gaGlzdG9sb2d5KQogICkKY29tcDEgPC0gbGlzdChjKCdCZW5pZ25cbihuPTEwKScsJ0Vhcmx5XG4obj0xNCknKSwKICAgICAgICAgICAgICBjKCdCZW5pZ25cbihuPTEwKScsJ0lJSVxuKG49ODUpJyksCiAgICAgICAgICAgICAgYygnQmVuaWduXG4obj0xMCknLCdJVlxuKG49MTkpJyksCiAgICAgICAgICAgICAgYygnRWFybHlcbihuPTE0KScsJ0lWXG4obj0xOSknKSwKICAgICAgICAgICAgICBjKCdJSUlcbihuPTg1KScsJ0lWXG4obj0xOSknKQogICAgICAgICAgICAgICkKZmlnMWEgPSBkZjEgfD4KICBtdXRhdGUoCiAgICBmaWdvID0gaWZlbHNlKHN0YWdlICVpbiUgYygnSScsICdJSScpLCAnRWFybHknLCBzdGFnZSksCiAgICBjdGRuYV9sZXYgPSBjYXNlX3doZW4oCiAgICAgIFRGIDw9IHRocmVzaDEgfiAibG93IiwKICAgICAgVEYgPiB0aHJlc2gxICYgVEYgPD0gdGhyZXNoMiB+ICJtZWQiLAogICAgICBURiA+IHRocmVzaDIgfiAiaGlnaCIKICAgICkKICApIHw+CiAgZ2dwbG90KGFlcyh4PWZhY3RvcihmaWdvLCAKICAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoJ0JlbmlnblxuKG49MTApJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vhcmx5XG4obj0xNCknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSUlJXG4obj04NSknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSVZcbihuPTE5KScpKSwKICAgICAgICAgICAgIHkgPSBURikpICsKICBnZW9tX2JveHBsb3Qod2lkdGg9LjMsb3V0bGllci5zaGFwZSA9IE5BLAogICAgICAgICAgICAgICBhbHBoYT0uNCwgc2hvdy5sZWdlbmQgPSBGKSArIAogIGdlb21faml0dGVyKGFlcyhjb2xvcj1jdGRuYV9sZXYpLCAKICAgICAgICAgICAgICBzaXplPTMsIHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcigwLjIpKSArIAogIHN0YXRfY29tcGFyZV9tZWFucyhjb21wYXJpc29ucyA9IGNvbXAxLCBzaXplID0gNSwKICAgICAgICAgICAgICAgICAgICAgbGFiZWwueSA9IGMoLjEyLC4xNiwuMjAsLjI0LCAuMjgpICkgKwogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IHRocmVzaDEsIGNvbG9yPWxpc3RfY29sb3JbMV0pICsgCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gdGhyZXNoMiwgY29sb3I9bGlzdF9jb2xvclszXSkgKyAKICBzY2FsZV9jb2xvdXJfbWFudWFsKHZhbHVlcyA9IGMoImhpZ2giID0gbGlzdF9jb2xvclszXSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZWQiID0gbGlzdF9jb2xvclsyXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvdyI9bGlzdF9jb2xvclsxXSkpICsKICBsYWJzKHg9J1N0YWdlcyBhdCBkaWFnbm9zaXMnLCB5ID0nY3RETkEgZnJhY3Rpb24nLAogICAgICAgY29sb3IgPSAnY3RETkEgbGV2ZWwnKSArIAogIHRoZW1lX2NsYXNzaWMoKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZT0xNCwgIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICAgIGF4aXMudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZT0xNiwgIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICAgIGF4aXMudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTE0LCBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSwKICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAnbm9uZScsIAogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTEsIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplPTEzLCBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSkgCgojIHBpZSBwbG90IGJldHdlZW4gSFJEIG9yIHRyZWF0bWVudCBhZG1pbmlzdGVyZWQKY3RkbmFfY29ob3J0IDwtIGRmMSB8PgogIGZpbHRlcihoaXN0b2xvZ3khPSdiZW5pZ24nKQoKZmlnMWIgPC0gY3RkbmFfY29ob3J0IHw+CiAgbXV0YXRlKEhSRCA9IGlmZWxzZShpcy5uYShIUkQpLCAnTkEnLCBIUkQpKSAlPiUKICBkcGx5cjo6Z3JvdXBfYnkoSFJEKSAlPiUKICBkcGx5cjo6c3VtbWFyaXNlKG4gPSBuKCkpICU+JQogIHVuZ3JvdXAoKSAlPiUKICBtdXRhdGUocHJvcCA9IG4vc3VtKG4pLAogICAgICAgICBsYWJlbCA9IHBhc3RlMChuLCAiICgiLCByb3VuZChwcm9wKjEwMCwwKSwgIiUpIikpICU+JQogIGFzLmRhdGEuZnJhbWUoKSB8PgogIGdncGxvdChhZXMoeD0nJyx5ID0gcHJvcCwgZmlsbD1IUkQpKSArCiAgZ2VvbV9jb2wod2lkdGg9MSwgY29sb3I9J3doaXRlJykgKwogIGdlb21fbGFiZWwoYWVzKGxhYmVsID0gbGFiZWwpLCBzaXplPTUsCiAgICAgICAgICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uX3N0YWNrKHZqdXN0ID0gMC41KSwKICAgICAgICAgICAgIHNob3cubGVnZW5kID0gRkFMU0UsCiAgICAgICAgICAgICBjb2xvciA9ICJibGFjayIpICsKICBjb29yZF9wb2xhcih0aGV0YSA9ICJ5IikgKwogIGxhYnMoeCA9ICIiLCB5PScnKSArCiAgdGhlbWVfdm9pZCgpICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBjKCJIUkQiID0gIiNmZmE1MDAiLCAiSFJQIiA9ICIjYzM5Nzk3IiwgJ05BJz0nZ3JleScpKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksI2VsZW1lbnRfdGV4dChzaXplPTE0LCAgZmFtaWx5ID0gJ0FyaWFsJywgY29sb3VyID0gJ2JsYWNrJyksCiAgICAgICAgYXhpcy50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplPTE2LCAgZmFtaWx5ID0gJ0FyaWFsJywgY29sb3VyID0gJ2JsYWNrJyksCiAgICAgICAgYXhpcy50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTQsIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICdub25lJywgCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMSwgZmFtaWx5ID0gJ0FyaWFsJywgY29sb3VyID0gJ2JsYWNrJyksCiAgICAgICAgbGVnZW5kLnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemU9MTMsIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpKQoKZmlnMWMgPC0gY3RkbmFfY29ob3J0IHw+CiAgZmlsdGVyKCFpcy5uYShIUkQpKSB8PgogIGdncGxvdChhZXMoeCA9IEhSRCwgeSA9IFRGKSkgKwogIGdlb21fdmlvbGluKGFlcyhmaWxsID0gZmFjdG9yKEhSRCwgbGV2ZWxzID0gYygnSFJEJywnSFJQJykpKSwgCiAgICAgICAgICAgICAgYWxwaGEgPSAuOCkgKwogIGdlb21fYm94cGxvdCh3aWR0aD0uMSkgKwogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoIkhSRCIgPSAiI2ZmYTUwMCIsICJIUlAiID0gIiNjMzk3OTciKSkrCiAgc3RhdF9jb21wYXJlX21lYW5zKGxhYmVsLngubnBjID0gLjM1LCBzaXplID0gNiwgbGFiZWwueS5ucGMgPSAuOCwKICAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSAnLi5wLi4nKSArCiAgdGhlbWVfcHVicigpKwogIGxhYnMoeCA9ICdIb21vbG9nb3VzIHJlY29tYmluYXRpb24nLCB5ID0gJ2N0RE5BIGZyYWN0aW9uJykgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemU9MTQsICBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSwKICAgICAgICBheGlzLnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemU9MTYsICBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSwKICAgICAgICBheGlzLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xNCwgZmFtaWx5ID0gJ0FyaWFsJywgY29sb3VyID0gJ2JsYWNrJyksCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gJ25vbmUnLCAKICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTExLCBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSwKICAgICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZT0xMywgZmFtaWx5ID0gJ0FyaWFsJywgY29sb3VyID0gJ2JsYWNrJykpCgpmaWcxZCA8LSBjdGRuYV9jb2hvcnQgfD4KICAjbXV0YXRlKEhSRCA9IGlmZWxzZShpcy5uYShIUkQpLCAnTkEnLCBIUkQpKSAlPiUKICBkcGx5cjo6Z3JvdXBfYnkodHJlYXRtZW50KSAlPiUKICBkcGx5cjo6c3VtbWFyaXNlKG4gPSBuKCkpICU+JQogIHVuZ3JvdXAoKSAlPiUKICBtdXRhdGUocHJvcCA9IG4vc3VtKG4pLAogICAgICAgICBsYWJlbCA9IHBhc3RlMChuLCAiICgiLCByb3VuZChwcm9wKjEwMCwwKSwgIiUpIikpICU+JQogIGFzLmRhdGEuZnJhbWUoKSB8PgogIGdncGxvdChhZXMoeD0nJyx5ID0gcHJvcCwgZmlsbD1mYWN0b3IodHJlYXRtZW50LCBsZXZlbHMgPSBjKCdQRFMnLCdOQUNUJywnT3RoZXInKSkpKSArCiAgZ2VvbV9jb2wod2lkdGg9MSwgY29sb3I9J3doaXRlJykgKwogIGdlb21fbGFiZWwoYWVzKGxhYmVsID0gbGFiZWwpLCBzaXplPTUsCiAgICAgICAgICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uX3N0YWNrKHZqdXN0ID0gMC41KSwKICAgICAgICAgICAgIHNob3cubGVnZW5kID0gRkFMU0UsCiAgICAgICAgICAgICBjb2xvciA9ICJibGFjayIpICsKICBjb29yZF9wb2xhcih0aGV0YSA9ICJ5IikgKwogIHRoZW1lX3ZvaWQoKSArCiAgbGFicyh4ID0gJycsIHk9JycpICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBjKCJOQUNUIiA9ICIjNzQ0NzAwIiwgIlBEUyIgPSAiIzc2YTVhZiIsICdPdGhlcic9J2dyYXknKSkgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLAogICAgICAgIGF4aXMudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZT0xNiwgIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICAgIGF4aXMudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTE0LCBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSwKICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAnbm9uZScsIAogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTEsIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplPTEzLCBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSkKCmZpZzFlIDwtIGN0ZG5hX2NvaG9ydCB8PgogIGZpbHRlcih0cmVhdG1lbnQhPSdPdGhlcicpIHw+CiAgZ2dwbG90KGFlcyh4ID0gdHJlYXRtZW50LCB5ID0gVEYpKSArCiAgZ2VvbV92aW9saW4oYWVzKGZpbGwgPSBmYWN0b3IodHJlYXRtZW50LCBsZXZlbHMgPSBjKCdQRFMnLCdOQUNUJywnT3RoZXInKSkpLCAKICAgICAgICAgICAgICBhbHBoYSA9IC44KSArCiAgZ2VvbV9ib3hwbG90KHdpZHRoPS4xKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYygiTkFDVCIgPSAiIzc0NDcwMCIsICJQRFMiID0gIiM3NmE1YWYiLCAnT3RoZXInPSdncmF5JykpKwogIHN0YXRfY29tcGFyZV9tZWFucyhsYWJlbC54Lm5wYyA9IC4zNSwgc2l6ZSA9IDYsIGxhYmVsLnkubnBjID0gLjgsCiAgICAgICAgICAgICAgICAgICAgIGxhYmVsID0gJy4ucC4uJykgKwogIHRoZW1lX3B1YnIoKSsKICBsYWJzKHggPSAnVHJlYXRtZW50IG1vZGFsaXR5JywgeSA9ICcnKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZT0xNCwgIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICBheGlzLnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemU9MTYsICBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSwKICAgICAgYXhpcy50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTQsIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpLAogICAgICBsZWdlbmQucG9zaXRpb24gPSAnbm9uZScsIAogICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTExLCBmYW1pbHkgPSAnQXJpYWwnLCBjb2xvdXIgPSAnYmxhY2snKSwKICAgICAgbGVnZW5kLnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemU9MTMsIGZhbWlseSA9ICdBcmlhbCcsIGNvbG91ciA9ICdibGFjaycpKQoKI3N2ZyhwYXN0ZTAocHJvamVjdF9kaXIsJ3Jlc3VsdHMvZmlndXJlc19EZWMyNS9tYWluLzFiX0hSRF90cnRtLnN2ZycpLCBoZWlnaHQgPSA1LCB3aWR0aCA9IDExKQpnZ2FycmFuZ2UoCiAgZmlnMWEsIGdnYXJyYW5nZShmaWcxYiwgZmlnMWQsIGZpZzFjLCBmaWcxZSwgbmNvbCA9IDIsIG5yb3cgPSAyKSwKICBuY29sID0gMiwgd2lkdGhzID0gYyguMzYsLjY0KQopCiNkZXYub2ZmKCkKYGBgCgojIyMgRmlndXJlIDFjOiBTdHVkeSBkZXNpZ246IGludGVncmF0aW5nIHRpc3N1ZSBvbWljcyBkYXRhIGludG8gdGhlIGFuYWx5c2lzCmBgYHtyIGZpZzFjLCBlY2hvPUZBTFNFLCBmaWcuY2FwPSJGaWd1cmUgMWMgLSBTdHVkeSBkZXNpZ24iLCBvdXQud2lkdGg9IjUwJSJ9CmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKCIuLi8uLi9yZXN1bHRzL2ZpZ3VyZXNfRGVjMjUvU3R1ZHlfZGVnc2lnbi5wbmciKQpgYGAKCiMjIyBGaWd1cmUgMWQ6IGNvaG9ydCB2aXN1YWxpemF0aW9uCgpgYGB7ciBmaWcxZCwgZWNobz1GQUxTRSwgZmlnLmNhcD0iRmlndXJlIDFkIC0gQ29ob3J0IGluZm9ybWF0aW9uIiwgZmlnLndpZHRoPTIwLCBmaWcuaGVpZ2h0PTh9CmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKCIuLi8uLi9yZXN1bHRzL2ZpZ3VyZXNfRGVjMjUvMDFfY29ob3J0LnBuZyIpCmBgYAoKYGBge3IgZW5kLCBlY2hvPUZBTFNFfQoKYGBg